package sanshui.system.trade.db.entity;

import java.util.ArrayList;
import java.util.List;

public class TradeReportExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TradeReportExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andReportIdIsNull() {
            addCriterion("report_id is null");
            return (Criteria) this;
        }

        public Criteria andReportIdIsNotNull() {
            addCriterion("report_id is not null");
            return (Criteria) this;
        }

        public Criteria andReportIdEqualTo(Long value) {
            addCriterion("report_id =", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotEqualTo(Long value) {
            addCriterion("report_id <>", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdGreaterThan(Long value) {
            addCriterion("report_id >", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdGreaterThanOrEqualTo(Long value) {
            addCriterion("report_id >=", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdLessThan(Long value) {
            addCriterion("report_id <", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdLessThanOrEqualTo(Long value) {
            addCriterion("report_id <=", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdIn(List<Long> values) {
            addCriterion("report_id in", values, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotIn(List<Long> values) {
            addCriterion("report_id not in", values, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdBetween(Long value1, Long value2) {
            addCriterion("report_id between", value1, value2, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotBetween(Long value1, Long value2) {
            addCriterion("report_id not between", value1, value2, "reportId");
            return (Criteria) this;
        }

        public Criteria andTotalValueIsNull() {
            addCriterion("total_value is null");
            return (Criteria) this;
        }

        public Criteria andTotalValueIsNotNull() {
            addCriterion("total_value is not null");
            return (Criteria) this;
        }

        public Criteria andTotalValueEqualTo(String value) {
            addCriterion("total_value =", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueNotEqualTo(String value) {
            addCriterion("total_value <>", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueGreaterThan(String value) {
            addCriterion("total_value >", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueGreaterThanOrEqualTo(String value) {
            addCriterion("total_value >=", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueLessThan(String value) {
            addCriterion("total_value <", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueLessThanOrEqualTo(String value) {
            addCriterion("total_value <=", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueLike(String value) {
            addCriterion("total_value like", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueNotLike(String value) {
            addCriterion("total_value not like", value, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueIn(List<String> values) {
            addCriterion("total_value in", values, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueNotIn(List<String> values) {
            addCriterion("total_value not in", values, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueBetween(String value1, String value2) {
            addCriterion("total_value between", value1, value2, "totalValue");
            return (Criteria) this;
        }

        public Criteria andTotalValueNotBetween(String value1, String value2) {
            addCriterion("total_value not between", value1, value2, "totalValue");
            return (Criteria) this;
        }

        public Criteria andProfitRateIsNull() {
            addCriterion("profit_rate is null");
            return (Criteria) this;
        }

        public Criteria andProfitRateIsNotNull() {
            addCriterion("profit_rate is not null");
            return (Criteria) this;
        }

        public Criteria andProfitRateEqualTo(String value) {
            addCriterion("profit_rate =", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateNotEqualTo(String value) {
            addCriterion("profit_rate <>", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateGreaterThan(String value) {
            addCriterion("profit_rate >", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateGreaterThanOrEqualTo(String value) {
            addCriterion("profit_rate >=", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateLessThan(String value) {
            addCriterion("profit_rate <", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateLessThanOrEqualTo(String value) {
            addCriterion("profit_rate <=", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateLike(String value) {
            addCriterion("profit_rate like", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateNotLike(String value) {
            addCriterion("profit_rate not like", value, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateIn(List<String> values) {
            addCriterion("profit_rate in", values, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateNotIn(List<String> values) {
            addCriterion("profit_rate not in", values, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateBetween(String value1, String value2) {
            addCriterion("profit_rate between", value1, value2, "profitRate");
            return (Criteria) this;
        }

        public Criteria andProfitRateNotBetween(String value1, String value2) {
            addCriterion("profit_rate not between", value1, value2, "profitRate");
            return (Criteria) this;
        }

        public Criteria andDrawDownIsNull() {
            addCriterion("draw_down is null");
            return (Criteria) this;
        }

        public Criteria andDrawDownIsNotNull() {
            addCriterion("draw_down is not null");
            return (Criteria) this;
        }

        public Criteria andDrawDownEqualTo(String value) {
            addCriterion("draw_down =", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownNotEqualTo(String value) {
            addCriterion("draw_down <>", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownGreaterThan(String value) {
            addCriterion("draw_down >", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownGreaterThanOrEqualTo(String value) {
            addCriterion("draw_down >=", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownLessThan(String value) {
            addCriterion("draw_down <", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownLessThanOrEqualTo(String value) {
            addCriterion("draw_down <=", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownLike(String value) {
            addCriterion("draw_down like", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownNotLike(String value) {
            addCriterion("draw_down not like", value, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownIn(List<String> values) {
            addCriterion("draw_down in", values, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownNotIn(List<String> values) {
            addCriterion("draw_down not in", values, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownBetween(String value1, String value2) {
            addCriterion("draw_down between", value1, value2, "drawDown");
            return (Criteria) this;
        }

        public Criteria andDrawDownNotBetween(String value1, String value2) {
            addCriterion("draw_down not between", value1, value2, "drawDown");
            return (Criteria) this;
        }

        public Criteria andSharpRatioIsNull() {
            addCriterion("sharp_ratio is null");
            return (Criteria) this;
        }

        public Criteria andSharpRatioIsNotNull() {
            addCriterion("sharp_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andSharpRatioEqualTo(String value) {
            addCriterion("sharp_ratio =", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioNotEqualTo(String value) {
            addCriterion("sharp_ratio <>", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioGreaterThan(String value) {
            addCriterion("sharp_ratio >", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioGreaterThanOrEqualTo(String value) {
            addCriterion("sharp_ratio >=", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioLessThan(String value) {
            addCriterion("sharp_ratio <", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioLessThanOrEqualTo(String value) {
            addCriterion("sharp_ratio <=", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioLike(String value) {
            addCriterion("sharp_ratio like", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioNotLike(String value) {
            addCriterion("sharp_ratio not like", value, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioIn(List<String> values) {
            addCriterion("sharp_ratio in", values, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioNotIn(List<String> values) {
            addCriterion("sharp_ratio not in", values, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioBetween(String value1, String value2) {
            addCriterion("sharp_ratio between", value1, value2, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andSharpRatioNotBetween(String value1, String value2) {
            addCriterion("sharp_ratio not between", value1, value2, "sharpRatio");
            return (Criteria) this;
        }

        public Criteria andWinRateIsNull() {
            addCriterion("win_rate is null");
            return (Criteria) this;
        }

        public Criteria andWinRateIsNotNull() {
            addCriterion("win_rate is not null");
            return (Criteria) this;
        }

        public Criteria andWinRateEqualTo(String value) {
            addCriterion("win_rate =", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateNotEqualTo(String value) {
            addCriterion("win_rate <>", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateGreaterThan(String value) {
            addCriterion("win_rate >", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateGreaterThanOrEqualTo(String value) {
            addCriterion("win_rate >=", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateLessThan(String value) {
            addCriterion("win_rate <", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateLessThanOrEqualTo(String value) {
            addCriterion("win_rate <=", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateLike(String value) {
            addCriterion("win_rate like", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateNotLike(String value) {
            addCriterion("win_rate not like", value, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateIn(List<String> values) {
            addCriterion("win_rate in", values, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateNotIn(List<String> values) {
            addCriterion("win_rate not in", values, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateBetween(String value1, String value2) {
            addCriterion("win_rate between", value1, value2, "winRate");
            return (Criteria) this;
        }

        public Criteria andWinRateNotBetween(String value1, String value2) {
            addCriterion("win_rate not between", value1, value2, "winRate");
            return (Criteria) this;
        }

        public Criteria andReportTime16IsNull() {
            addCriterion("report_time16 is null");
            return (Criteria) this;
        }

        public Criteria andReportTime16IsNotNull() {
            addCriterion("report_time16 is not null");
            return (Criteria) this;
        }

        public Criteria andReportTime16EqualTo(String value) {
            addCriterion("report_time16 =", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16NotEqualTo(String value) {
            addCriterion("report_time16 <>", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16GreaterThan(String value) {
            addCriterion("report_time16 >", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16GreaterThanOrEqualTo(String value) {
            addCriterion("report_time16 >=", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16LessThan(String value) {
            addCriterion("report_time16 <", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16LessThanOrEqualTo(String value) {
            addCriterion("report_time16 <=", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16Like(String value) {
            addCriterion("report_time16 like", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16NotLike(String value) {
            addCriterion("report_time16 not like", value, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16In(List<String> values) {
            addCriterion("report_time16 in", values, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16NotIn(List<String> values) {
            addCriterion("report_time16 not in", values, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16Between(String value1, String value2) {
            addCriterion("report_time16 between", value1, value2, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andReportTime16NotBetween(String value1, String value2) {
            addCriterion("report_time16 not between", value1, value2, "reportTime16");
            return (Criteria) this;
        }

        public Criteria andAccIdIsNull() {
            addCriterion("acc_id is null");
            return (Criteria) this;
        }

        public Criteria andAccIdIsNotNull() {
            addCriterion("acc_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccIdEqualTo(Long value) {
            addCriterion("acc_id =", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdNotEqualTo(Long value) {
            addCriterion("acc_id <>", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdGreaterThan(Long value) {
            addCriterion("acc_id >", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdGreaterThanOrEqualTo(Long value) {
            addCriterion("acc_id >=", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdLessThan(Long value) {
            addCriterion("acc_id <", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdLessThanOrEqualTo(Long value) {
            addCriterion("acc_id <=", value, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdIn(List<Long> values) {
            addCriterion("acc_id in", values, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdNotIn(List<Long> values) {
            addCriterion("acc_id not in", values, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdBetween(Long value1, Long value2) {
            addCriterion("acc_id between", value1, value2, "accId");
            return (Criteria) this;
        }

        public Criteria andAccIdNotBetween(Long value1, Long value2) {
            addCriterion("acc_id not between", value1, value2, "accId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdIsNull() {
            addCriterion("worker_id is null");
            return (Criteria) this;
        }

        public Criteria andWorkerIdIsNotNull() {
            addCriterion("worker_id is not null");
            return (Criteria) this;
        }

        public Criteria andWorkerIdEqualTo(Long value) {
            addCriterion("worker_id =", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdNotEqualTo(Long value) {
            addCriterion("worker_id <>", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdGreaterThan(Long value) {
            addCriterion("worker_id >", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("worker_id >=", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdLessThan(Long value) {
            addCriterion("worker_id <", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdLessThanOrEqualTo(Long value) {
            addCriterion("worker_id <=", value, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdIn(List<Long> values) {
            addCriterion("worker_id in", values, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdNotIn(List<Long> values) {
            addCriterion("worker_id not in", values, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdBetween(Long value1, Long value2) {
            addCriterion("worker_id between", value1, value2, "workerId");
            return (Criteria) this;
        }

        public Criteria andWorkerIdNotBetween(Long value1, Long value2) {
            addCriterion("worker_id not between", value1, value2, "workerId");
            return (Criteria) this;
        }

        public Criteria andInitValueIsNull() {
            addCriterion("init_value is null");
            return (Criteria) this;
        }

        public Criteria andInitValueIsNotNull() {
            addCriterion("init_value is not null");
            return (Criteria) this;
        }

        public Criteria andInitValueEqualTo(String value) {
            addCriterion("init_value =", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueNotEqualTo(String value) {
            addCriterion("init_value <>", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueGreaterThan(String value) {
            addCriterion("init_value >", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueGreaterThanOrEqualTo(String value) {
            addCriterion("init_value >=", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueLessThan(String value) {
            addCriterion("init_value <", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueLessThanOrEqualTo(String value) {
            addCriterion("init_value <=", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueLike(String value) {
            addCriterion("init_value like", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueNotLike(String value) {
            addCriterion("init_value not like", value, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueIn(List<String> values) {
            addCriterion("init_value in", values, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueNotIn(List<String> values) {
            addCriterion("init_value not in", values, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueBetween(String value1, String value2) {
            addCriterion("init_value between", value1, value2, "initValue");
            return (Criteria) this;
        }

        public Criteria andInitValueNotBetween(String value1, String value2) {
            addCriterion("init_value not between", value1, value2, "initValue");
            return (Criteria) this;
        }

        public Criteria andPicUrlIsNull() {
            addCriterion("pic_url is null");
            return (Criteria) this;
        }

        public Criteria andPicUrlIsNotNull() {
            addCriterion("pic_url is not null");
            return (Criteria) this;
        }

        public Criteria andPicUrlEqualTo(String value) {
            addCriterion("pic_url =", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlNotEqualTo(String value) {
            addCriterion("pic_url <>", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlGreaterThan(String value) {
            addCriterion("pic_url >", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlGreaterThanOrEqualTo(String value) {
            addCriterion("pic_url >=", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlLessThan(String value) {
            addCriterion("pic_url <", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlLessThanOrEqualTo(String value) {
            addCriterion("pic_url <=", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlLike(String value) {
            addCriterion("pic_url like", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlNotLike(String value) {
            addCriterion("pic_url not like", value, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlIn(List<String> values) {
            addCriterion("pic_url in", values, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlNotIn(List<String> values) {
            addCriterion("pic_url not in", values, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlBetween(String value1, String value2) {
            addCriterion("pic_url between", value1, value2, "picUrl");
            return (Criteria) this;
        }

        public Criteria andPicUrlNotBetween(String value1, String value2) {
            addCriterion("pic_url not between", value1, value2, "picUrl");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearIsNull() {
            addCriterion("profit_rate_year is null");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearIsNotNull() {
            addCriterion("profit_rate_year is not null");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearEqualTo(String value) {
            addCriterion("profit_rate_year =", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearNotEqualTo(String value) {
            addCriterion("profit_rate_year <>", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearGreaterThan(String value) {
            addCriterion("profit_rate_year >", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearGreaterThanOrEqualTo(String value) {
            addCriterion("profit_rate_year >=", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearLessThan(String value) {
            addCriterion("profit_rate_year <", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearLessThanOrEqualTo(String value) {
            addCriterion("profit_rate_year <=", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearLike(String value) {
            addCriterion("profit_rate_year like", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearNotLike(String value) {
            addCriterion("profit_rate_year not like", value, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearIn(List<String> values) {
            addCriterion("profit_rate_year in", values, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearNotIn(List<String> values) {
            addCriterion("profit_rate_year not in", values, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearBetween(String value1, String value2) {
            addCriterion("profit_rate_year between", value1, value2, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andProfitRateYearNotBetween(String value1, String value2) {
            addCriterion("profit_rate_year not between", value1, value2, "profitRateYear");
            return (Criteria) this;
        }

        public Criteria andMoreReportIsNull() {
            addCriterion("more_report is null");
            return (Criteria) this;
        }

        public Criteria andMoreReportIsNotNull() {
            addCriterion("more_report is not null");
            return (Criteria) this;
        }

        public Criteria andMoreReportEqualTo(String value) {
            addCriterion("more_report =", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportNotEqualTo(String value) {
            addCriterion("more_report <>", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportGreaterThan(String value) {
            addCriterion("more_report >", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportGreaterThanOrEqualTo(String value) {
            addCriterion("more_report >=", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportLessThan(String value) {
            addCriterion("more_report <", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportLessThanOrEqualTo(String value) {
            addCriterion("more_report <=", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportLike(String value) {
            addCriterion("more_report like", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportNotLike(String value) {
            addCriterion("more_report not like", value, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportIn(List<String> values) {
            addCriterion("more_report in", values, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportNotIn(List<String> values) {
            addCriterion("more_report not in", values, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportBetween(String value1, String value2) {
            addCriterion("more_report between", value1, value2, "moreReport");
            return (Criteria) this;
        }

        public Criteria andMoreReportNotBetween(String value1, String value2) {
            addCriterion("more_report not between", value1, value2, "moreReport");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}